The Tree Width of Separation Logic with Recursive Definitions
نویسندگان
چکیده
Separation Logic is a widely used formalism for describing dynamically allocated linked data structures, such as lists, trees, etc. The decidability status of various fragments of the logic constitutes a long standing open problem. Current results report on techniques to decide satisfiability and validity of entailments for Separation Logic(s) over lists (possibly with data). In this paper we establish a more general decidability result. We prove that any Separation Logic formula using rather general recursively defined predicates is decidable for satisfiability, and moreover, entailments between such formulae are decidable for validity. These predicates are general enough to define (doubly-) linked lists, trees, and structures more general than trees, such as trees whose leaves are chained in a list. The decidability proofs are by reduction to decidability of Monadic Second Order Logic on graphs with bounded tree width.
منابع مشابه
Automating Program Proofs Based on Separation Logic with Inductive Definitions
This paper investigates the use of Separation Logic with inductive definitions in reasoning about programs that manipulate dynamic data structures. We propose a novel approach for exploiting the inductive definitions in automating program proofs based on inductive invariants. We focus on iterative programs, although our techniques apply to recursive programs as well, and specifications that des...
متن کاملOn Automated Lemma Generation for Separation Logic with Inductive Definitions
Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas relating the inductive definitions. We propose a novel approach for generating these lemmas automatically which is based on simple syntactic criteria and dete...
متن کاملMechanical Verification of Mutually Recur - sive Procedures for Parsing Expressions us - ing Separation Logic TUCS
This paper adds support for mutually recursive procedures on top of a predicate transformer semantics of imperative programs with pointers implemented in PVS theorem prover. We define and prove correct a collection of mutually recursive procedures which constructs the parsing tree of an expression generated by a context free grammar. We use separation logic to specify and verify these procedure...
متن کاملDeciding Entailments in Inductive Separation Logic with Tree Automata
Separation Logic (SL) with inductive definitions is a natural formalism for specifying complex recursive data structures, used in compositional verification of programs manipulating such structures. The key ingredient of any automated verification procedure based on SL is the decidability of the entailment problem. In this work, we reduce the entailment problem for a non-trivial subset of SL de...
متن کاملLimit distribution of the degrees in scaled attachment random recursive trees
We study the limiting distribution of the degree of a given node in a scaled attachment random recursive tree, a generalized random recursive tree, which is introduced by Devroye et. al (2011). In a scaled attachment random recursive tree, every node $i$ is attached to the node labeled $lfloor iX_i floor$ where $X_0$, $ldots$ , $X_n$ is a sequence of i.i.d. random variables, with support in [0,...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013